<?php
	function return_bytes( $val )	{
		$val = trim($val);
		$last = strtolower($val[strlen($val)-1]);
		switch($last) {
			// The 'G' modifier is available since PHP 5.1.0
			case 'g':
				$val *= 1024;
			case 'm':
				$val *= 1024;
			case 'k':
				$val *= 1024;
		}
	
		return $val;
	}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	<title>SWAT Lite Instalation</title>
	<link rel="stylesheet" type="text/css" href="../include/styles.1.0.0.0.css" />
	<link rel="stylesheet" type="text/css" href="../include/sources/styles.css" />
</head>
<body>
<?php
	$fatals = 0;
	$errors = 0;
	$warnings = 0;
	
	$config = array( );
	
	$data = array( );
	$data[] = 'Versi&oacute;n de PHP';
	$data[] = '(' . gettype( PHP_VERSION ) . ") '" . PHP_VERSION . "'";
	$data[] = '>= 5.0.0';
	
	if( version_compare( PHP_VERSION, '5.0.0', '<' ) )	{
		$data[] = 'error';
		$data[] = 'No es posible ejecutar SWAT Lite en una versi&oacute;n de PHP menor a 5.0';
		$fatals ++;
	}
	else	{
		$data[] = 'ok';
		$data[] = 'Versi&oacute;n de PHP correcta.';
	}
	$config[] = $data;
	
	$data = array( );
	$data[] = 'register_globals';
	$data[] = '(' . gettype( ini_get( 'register_globals' ) ) . ") '" . ini_get( 'register_globals' ) . "'";
	$data[] = 'off';
	
	if( in_array( strtolower( ini_get( 'register_globals' ) ), array( 1, 'on' ) ) )	{
		$data[] = 'warning';
		$warnings ++;
	}
	else	{
		$data[] = 'ok';
	}
	$data[] = 'Se recomienda desactivar esta opci&oacute;n por seguridad.';
	$config[] = $data;
	
	$data = array( );
	$data[] = 'upload_max_filesize';
	$data[] = '(' . gettype( ini_get( 'upload_max_filesize' ) ) . ") '" . ini_get( 'upload_max_filesize' ) . "'";
	$data[] = '>= 2M';
	
	if( return_bytes( ini_get( 'upload_max_filesize' ) ) < 2 * 1024 * 1024 )	{ // 2M
		$data[] = 'warning';
		$data[] = 'El valor en muy peque&ntilde;o pero su sitio puede no requerir de carga de archivos.';
		$warnings ++;
	}
	else	{
		$data[] = 'ok';
		$data[] = 'El valor es el recomendado pero su sitio puede requerir de una configuraci&oacute;n diferente.';
	}
	$config[] = $data;
	
	$data = array( );
	$data[] = 'post_max_size';
	$data[] = '(' . gettype( ini_get( 'post_max_size' ) ) . ") '" . ini_get( 'post_max_size' ) . "'";
	$data[] = '> ' . ini_get( 'upload_max_filesize' );
	
	if( return_bytes( ini_get( 'post_max_size' ) ) <= return_bytes( ini_get( 'upload_max_filesize' ) ) )	{
		$data[] = 'error';
		$data[] = 'El valor en post_max_size debe ser mayor al valor de upload_max_filesize.';
		$errors ++;
	}
	else	{
		$data[2] = '>= 8M';
		if( return_bytes( ini_get( 'post_max_size' ) ) < 8 * 1024 * 1024 )	{ // 8M
			$data[] = 'warning';
			$data[] = 'El valor en muy peque&ntilde;o pero su sitio puede no requerir de carga mucha informaci&oacute;n.';
			$warnings ++;
		}
		else	{
			$data[] = 'ok';
			$data[] = 'El valor es el recomendado pero su sitio puede requerir de una configuraci&oacute;n diferente.';
		}
	}
	$config[] = $data;
	
	$data = array( );
	$data[] = 'default_charset';
	$data[] = '(' . gettype( ini_get( 'default_charset' ) ) . ") '" . ini_get( 'default_charset' ) . "'";
	$data[] = 'iso-8859-1';
	
	if( strtolower( ini_get( 'default_charset' ) ) != 'iso-8859-1' )	{ // 2M
		$data[] = 'warning';
		$data[] = 'No es necesario pero se recomienda usar iso-8859-1.';
		$warnings ++;
	}
	else	{
		$data[] = 'ok';
		$data[] = 'El valor es el recomendado.';
	}
	$config[] = $data;
	
	$data = array( );
	$data[] = 'date.timezone';
	$data[] = '(' . gettype( ini_get( 'date.timezone' ) ) . ") '" . ini_get( 'date.timezone' ) . "'";
	$data[] = "NO VAC&Iacute;O";
	
	if( strtolower( ini_get( 'date.timezone' ) ) == '' )	{
		$data[] = 'warning';
		$data[] = 'Se recomienda inicializar este valor seg&uacute;n la ubicaci&oacute;n de su sitio.';
		$warnings ++;
	}
	else	{
		$data[] = 'ok';
		$data[] = 'Verifique que el valor es correcto para su sitio.';
	}
	$config[] = $data;
	
	
?>
<table width="100%" border="0" cellspacing="0" cellpadding="5" class="tableBorder">
<tr class="tableTr">
	<th colspan="4">Verificaci&oacute;n de Configuraci&oacute;n PHP</th>
</tr>
<tr class="tableTr">
	<th>Par&aacute;metro de Configuraci&oacute;n</th>
	<th>Valor Actual</th>
	<th>Valor Buscado</th>
	<th>Comentario</th>
</tr>
<?php
	$odd = true;
	foreach( $config as $data )	{
		$odd = !$odd;
?>
<tr class="tableTr<?php echo ( $odd ? '1' : '0' ) ?>">
	<td><?php echo $data[0] ?></td>
	<td><?php echo $data[1] ?></td>
	<td class="<?php echo $data[3] ?>"><b><?php echo $data[2] ?></b></td>
	<td><?php echo $data[4] ?></td>
</tr>
<?
	}
?>
</table>

</body>
</html>
